# -*- coding：utf-8 -*-
"""
@Time:2024-08-1711:36
@Auth:泛彼泊舟
@File:5、open()函数参数详解.py
@IDE:PyCharm
@模块功能：xxx
"""
"""
在 Python 中，open() 函数用于打开一个文件，并返回一个文件对象。
这个文件对象可以用于读取、写入或附加数据。
open() 函数的使用非常灵活，它支持多个参数来配置文件的打开方式。
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
    file: 要打开的文件路径或文件名（字符串类型）,可以是相对路径或绝对路径
    mode: 文件的打开模式，指定如何处理文件。默认不写是读
        - 'r': 只读模式（默认）。文件指针放在文件的开头。
        - 'w': 写入模式。文件会被创建（如果不存在）或截断（如果存在）
        - 'a': 追加模式。文件指针放在文件的末尾（如果文件存在），否则创建文件。
        - 'b': 二进制模式。用于以二进制形式读取或写入文件（例如 'rb' 或 'wb'）
        - 'x': 独占创建模式。如果文件已存在，则引发 FileExistsError。
        - 't': 文本模式（默认）。以文本模式读取或写入文件。
        - 这些模式可以组合使用。例如，'rb' 以二进制模式读取文件，'w+' 以读写模式打开文件。
    buffering: 控制文件的缓冲策略。
        - 0 表示不缓冲（仅适用于二进制模式）
        - 1 表示行缓冲（仅适用于文本模式），意味着缓冲区会在遇到换行符时刷新。
        - 大于 1 的值表示设置缓冲区的大小（以字节为单位）。通常不需要设置，Python 会自动选择合适的缓冲策略。
    encoding (str, optional):指定文本文件的编码方式（仅在文本模式下有效）
"""
# 以只读模式打开一个文本文件
with open('example.txt', 'r', encoding='utf-8') as file:
    content = file.read()
    print(content)

# 以二进制模式写入数据
with open('example.bin', 'wb') as file:
    file.write(b'\x00\xFF')

# 以附加模式打开并写入数据
with open('example.txt', 'a') as file:
    file.write('\nAppended line')
